package store.model;

public enum TipoPagamento {

    PAYPAL("PayPal") {
        @Override
        void gerarPagamento(Pedido pedido) {
            //TODO implementar conforme o m[etodo de pagamento
        }

        @Override
        void verificarPagamento(Pedido pedido) {
            //TODO implementar conforme o m[etodo de pagamento
        }
    },

    CARTAO_CREDITO("Cartão de Crédito") {
        @Override
        void gerarPagamento(Pedido pedido) {
            //TODO implementar conforme o m[etodo de pagamento
        }

        @Override
        void verificarPagamento(Pedido pedido) {
            //TODO implementar conforme o m[etodo de pagamento
        }
    },

    BOLETO("Boleto Bancário") {
        @Override
        void gerarPagamento(Pedido pedido) {
            //TODO implementar conforme o m[etodo de pagamento
        }

        @Override
        void verificarPagamento(Pedido pedido) {
            //TODO implementar conforme o m[etodo de pagamento
        }
    };

    private String descricao;

    private TipoPagamento(String descricao) {
        this.descricao = descricao;
    }

    public String getDescricao() {
        return descricao;
    }

    abstract void gerarPagamento(Pedido pedido);

    abstract void verificarPagamento(Pedido pedido);
}
